" vim 设置
" =============================================
" 设置<LEADER>键目前用的空格键
let mapleader=" "
" 设置字体高亮
syntax on
" 设置行号
set number
" 设置当前行号no是取消
set norelativenumber
" 设置显示线
set cursorline
" 设置自动换行
set wrap
" 设置状态栏no是取消
set showcmd
" 指令状态<tab>补全功能
set wildmenu
set wildmode=list:full
" /搜索高亮
set hlsearch
" 停止高亮
exec "nohlsearch"
" /边输入边高亮
set incsearch
" 搜索不分大小写
set ignorecase
" 智能大小写
set smartcase
" 全局设置样式
color snazzy
" 透明配色
let g:SnazzyTransparent = 1
" 开启兼容模式
set nocompatible
" 开启文件格式识别
filetype on
filetype indent on
filetype plugin on
filetype plugin indent on
" 开启鼠标控制
set mouse=a
" 编码格式设定
set encoding=utf-8
" 终端配色样式统一开启
let &t_ut=''
" 设置TAB操作
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
" 显示不可用字符
set list
set listchars=tab:▸\ ,trail:▫
" 始终保持5行距离方便阅读
set scrolloff=5
set tw=0
" 光标状态开启
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_SR = "\<Esc>]50;CursorShape=2\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
" 始终显示状态栏
set laststatus=2
" 开启光标停留在上次编辑的位置
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif










" =============================================
" 这是键盘功能
" 禁用s键功能
map s <nop>
" 使用 Control + s 保存文件
" 普通模式下
nnoremap <C-s> :w<CR>
" insert模式下
inoremap <C-s> <Esc>:w<CR>
" 使用 Control + q 退出
" 普通模式下
nnoremap <C-q> :q<CR>
" insert模式下
inoremap <C-q> <Esc>:q<CR>
" 使用 Control + j k 向下上5行
nnoremap <C-j> 5j
nnoremap <C-k> 5k
" 清除屏幕高亮(空格键+回车）
noremap <LEADER><CR> :nohlsearch<CR>
" 分屏键位
" 右侧分屏光标在右侧s+l
map sl :set splitright<CR>:vsplit<CR>
" 左侧分屏光标在左侧s+h
map sh :set nosplitright<CR>:vsplit<CR>
" 向上分屏光标在下s+j
map sk :set nosplitbelow<CR>:split<CR>
" 向下分屏光标在上s+k
map sj :set splitbelow<CR>:split<CR>
" 分屏光标移动空格键+hjkl
map <LEADER>l <C-w>l
map <LEADER>k <C-w>k
map <LEADER>h <C-w>h
map <LEADER>j <C-w>j
" 分屏后调整大小
" 使用 s + 方向键调整窗口大小
nnoremap s<Up>    :res +5<CR>
nnoremap s<Down>  :res -5<CR>
nnoremap s<Left>  :vertical resize-5<CR>
nnoremap s<Right> :vertical resize+5<CR>
" 添加新的标签页
map sn :tabe<CR>
" 切换标签页
map s, :-tabnext<CR>
map s. :+tabnext<CR>
" 分屏切换方向
" su：将当前左右分屏（垂直分割）变成上下分屏（水平分割）
nnoremap su <C-w>t<C-w>K
" 使用 sd 快捷键将上下分屏变为左右分屏
nnoremap sd <C-w>t<C-w>H
" 启用 NERDTree
map <C-t> :NERDTreeToggle<CR>
" 在 NERDTree 中默认显示隐藏文件
let NERDTreeShowHidden=1
" 水平打开新文件s
let NERDTreeMapOpenSplit = ""
" 上下打开新问题i
let NERDTreeOpenVSplit = ""



" ==============================================
" 设置国内镜像源
" 这里是插件的安装
call plug#begin('~/.vim/plugged')

" 下方的提示栏
Plug 'vim-airline/vim-airline'

" 全局样式
Plug 'connorholyday/vim-snazzy'

" nerdtree树插件
Plug 'https://gitee.com/leon19910505/nerdtree'

" youcompleteme代码补全插件（需要进入目录安装）
Plug 'https://gitee.com/mirrors/youcompleteme'

" 代码错误提示





call plug#end()
